home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software 2000
/
Software 2000 Volume 1 (Disc 1 of 2).iso
/
education
/
e005.dms
/
e005.adf
/
Tug
/
tugoword
(
.txt
)
< prev
next >
Wrap
AmigaBASIC Source Code
|
1989-09-24
|
20KB
|
843 lines
CLEAR,25000:CLEAR,50000
SCREEN 1,320,200,3,1
WINDOW 2,,,0,1
start:
DEFINT a-z
RANDOMIZE TIMER
DEF FNr(x)=INT(RND(1)*x)+1
FOR w=0 TO 7
READ c,d,e
PALETTE w,c,d,e
NEXT
DATA 0,1,1,1,1,1,0,0,0,.8,.1,.1
DATA .1,.8,.1,.8,.1,.1,0,0,1,.9,.7,0
GOSUB graphics
CLS
PUT(89,65),l1,PSET
LOCATE 10,14
COLOR 2,1:PRINT " TUG O WORD "
DIM aa(280)
GET(104,70)-(199,79),aa
PUT(200,65),r1,PSET
LOCATE 13,13
COLOR 5,0
PRINT "BY ERIC COVELL"
FOR del=1 TO 10000:NEXT
bb=0
FOR x=1 TO 160
bb=bb+1:IF bb=3 THEN bb=1
IF bb=1 THEN PUT(x+200,65),r2,PSET :ELSE PUT(x+200,65),r4,PSET
PUT(x+104,70),aa,PSET
IF bb=1 THEN PUT(x+89,65),l2,PSET :ELSE PUT(x+89,65),l4,PSET
NEXT
FOR x=160 TO 110 STEP-1
bb=bb+1:IF bb=3 THEN bb=1
IF bb=1 THEN PUT(x+200,65),r2,PSET :ELSE PUT(x+200,65),r4,PSET
PUT(x+104,70),aa,PSET
IF bb=1 THEN PUT(x+89,65),l2,PSET :ELSE PUT(x+89,65),l4,PSET
NEXT
FOR x=110 TO 225
bb=bb+1:IF bb=3 THEN bb=1
IF bb=1 THEN PUT(x+200,65),r2,PSET :ELSE PUT(x+200,65),r4,PSET
PUT(x+104,70),aa,PSET
IF bb=1 THEN PUT(x+89,65),l2,PSET :ELSE PUT(x+89,65),l4,PSET
NEXT
LOCATE 18,6
COLOR 6
oncemore:
INPUT "DO YOU WANT INSTRUCTIONS (Y/N)",ans$
ans$=UCASE$(ans$)
IF ans$<>"Y" AND ans$<>"N" THEN oncemore
IF ans$="Y" THEN GOSUB instructions
restart:
COLOR 4,0
CLS
LINE (1,35)-(320,35),2
GOSUB rubout
LINE (3,113)-(145,200),4,bf
LINE (164,113)-(307,200),4,bf
LINE (3,113)-(145,114),1,bf
LINE (164,113)-(307,114),1,bf
FOR x=3 TO 139 STEP 8:PSET(x,113),2:NEXT
FOR x=170 TO 306 STEP 8:PSET(x,113),2:NEXT
LINE (87,103)-(222,103),5
x1=72:x2=223
PUT(x1,92),l1,PSET:PUT(x2,92),r1,PSET
spot=10:start=0
GOSUB letters
IF samenames=1 THEN
COLOR 2,1
LOCATE 16,2:PRINT nam$(1)
LOCATE 16,22:PRINT nam$(2)
newmm=mm:start=1
GOTO 10
END IF
GOSUB getname
10 :
FOR x=1 TO 2:word$(x)="":guessed(x)=0:NEXT
numletters=10
GOSUB handicap
game=0
gameloop:
GOSUB setword
mm=0:drop=0
IF start=1 THEN mm=newmm:start=0
WHILE game=0
GOSUB rubout
mm=mm+1:IF mm=3 THEN mm=1
IF mm=1 THEN cc=4 :ELSE cc=5
LOCATE 2,2:COLOR cc,1:PRINT nam$(mm);" Guess a letter or *"
ga1:
GOSUB getcord
GOSUB identify
IF flag=1 THEN ga1
IF mistake=1 THEN ga1
IF cr=60 THEN ga1
GOSUB checkword
IF sc>0 THEN
FOR x=1 TO sc
IF spot=19 THEN ga2
GOSUB mover
ga2:
IF spot=19 THEN x=sc:game=1:drop=1
NEXT
END IF
IF sc<1 THEN
sc=ABS(sc)
FOR x=1 TO sc
IF spot=1 THEN ga3
GOSUB movel
ga3:
IF spot=1 THEN x=sc:game=1:drop=2
NEXT
END IF
FOR i=1 TO 2
IF guessed(i)=num(i) THEN game=1
NEXT
WEND
IF drop>0 THEN
GOSUB dropman
GOSUB enquire
GOTO restart
END IF
LINE(3,150)-(145,200),4,bf:LINE(164,150)-(307,200),4,bf
FOR x=1 TO 2:word$(x)="":guessed(x)=0:NEXT
game=0:start=1:newmm=mm: GOTO gameloop
END
enquire:
PUT(75,80),YES,PSET:PUT(215,80),NO,PSET
COLOR 3
LOCATE 2,2:PRINT "Another Game.. Click on YES or NO"
en1:
GOSUB getcord
IF py<81 OR py>92 THEN en1
IF px>74 AND px<100 THEN GOSUB rescue:GOTO en2
IF px>214 AND px<240 THEN GOSUB byebye:GOTO gameend
GOTO en1
en2:
RETURN
byebye:
IF drop=2 THEN
rope=250
FOR j=49 TO 143
dm=dm+1
rope=rope-1
PUT(147,dm),l3,PSET
PSET(rope,103),0
FOR del=1 TO 20:NEXT
GOSUB fall
NEXT
FOR j=144 TO 241
PSET(154,j-41),0
FOR del=1 TO 20:NEXT
NEXT
GOSUB fall
END IF
IF drop=1 THEN
rope=60
FOR j=49 TO 143
dm=dm+1
rope=rope+1
PUT(148,dm),r3,PSET
PSET(rope,103),0
FOR del=1 TO 20:NEXT
GOSUB fall
NEXT
FOR j=144 TO 241
PSET(155,j-41),0
FOR del=1 TO 20:NEXT
NEXT
GOSUB fall
END IF
FOR del=1 TO 5000:NEXT
RETURN
gameend:
CLS
LOCATE 10,5:PRINT "HOPE YOU ENJOYED TUG O WORD !"
END
RETURN
rescue:
GOSUB rubout
LOCATE 2,2:PRINT "Same Players?..Click on YES or NO"
re1:
samenames=0
GOSUB getcord
IF py<81 OR py>92 THEN re1
IF px>74 AND px<100 THEN samenames=1:GOTO re2
IF px>214 AND px<240 THEN samenames=0:GOTO re2
GOTO re1
re2:
j=50
IF drop=2 THEN
cc=0
FOR k=1 TO 48
j=j-1
cc=cc+1:IF cc=3 THEN cc=1
dm=dm-1
PUT(147,dm),l3,PSET
LINE(147,dm+21)-(162,dm+21),0
x2=x2+1
IF cc=1 THEN PUT(x2,92),r2,PSET :ELSE PUT(x2,92),r4,PSET
FOR del=1 TO 20:NEXT
GOSUB fall
NEXT
PUT(x2,92),r1,PSET
LINE(147,105)-(161,130),0,bf
PUT(140,92),l1,PSET
END IF
IF drop=1 THEN
cc=0
FOR k=1 TO 48
j=j-1
cc=cc+1:IF cc=3 THEN cc=1
dm=dm-1
PUT(148,dm),r3,PSET
LINE(147,dm+21)-(162,dm+21),0
x1=x1-1
IF cc=1 THEN PUT(x1,92),l2,PSET :ELSE PUT(x1,92),l4,PSET
FOR del=1 TO 20:NEXT
GOSUB fall
NEXT
PUT(x1,92),l1,PSET
LINE(147,105)-(161,130),0,bf
PUT(155,92),r1,PSET
END IF
FOR del=1 TO 4000:NEXT
RETURN
dropman:
GOSUB rubout
IF drop=2 THEN
LINE(148,92)-(159,103),0,bf
LINE(155,103)-(160,103),5
PUT(147,104),l3,PSET
dm=105:cc=0
FOR j=1 TO 48
cc=cc+1:IF cc=3 THEN cc=1
dm=dm+1
PUT(147,dm),l3,PSET
x2=x2-1
IF cc=1 THEN PUT(x2,92),r2,PSET :ELSE PUT(x2,92),r4,PSET
FOR del=1 TO 20:NEXT
GOSUB fall
NEXT
PUT(x2,92),r1,PSET
END IF
IF drop=1 THEN
LINE(148,92)-(162,104),0,bf
LINE(148,103)-(155,103),5
PUT(148,104),r3,PSET
dm=105:cc=0
FOR j=1 TO 48
cc=cc+1:IF cc=3 THEN cc=1
dm=dm+1
PUT(148,dm),r3,PSET
x1=x1+1
IF cc=1 THEN PUT(x1,92),l2,PSET :ELSE PUT(x1,92),l4,PSET
FOR del=1 TO 20:NEXT
GOSUB fall
NEXT
PUT(x1,92),l1,PSET
END IF
RETURN
checkword:
ct=0
FOR x=1 TO 10:check(x)=0:NEXT
IF mm=1 THEN yy=1:sq=5 :ELSE yy=2:sq=25
c$=CHR$(cr)
IF c$<>"*"THEN
FOR i=1 TO num(yy)
t$=MID$(word$(yy),i,1)
IF t$=c$ THEN
COLOR 2,1
LOCATE 21,sq+i-1:PRINT CHR$(cr)
MID$(word$(mm),i,1)="0"
guessed(mm)=guessed(mm)+1
IF mm=1 THEN sc=2 :ELSE sc=-2
i=num(yy)+1
ok=1
GOSUB win
END IF
NEXT
IF ok=0 THEN GOSUB checkown
IF ok=0 THEN
IF mm=1 THEN sc=-1 :ELSE sc=1
GOSUB lose
END IF
ok=0
RETURN
END IF
IF c$="*" THEN
FOR i=1 TO num(yy)
t$= MID$(word$(yy),i,1)
IF t$=c$ THEN
check(i)=1
GOTO cw10
END IF
IF t$="0" THEN check(i)=0:GOTO cw10
check(i)=100
cw10:
NEXT
s=0:f=0:l=0:p=0
FOR i=1 TO num(yy)
IF check(i)=100 THEN l=1
IF check(i)=0 AND s=1 THEN l=1
IF check(i)=1 AND l=0 THEN s=1
IF check(i)=1 AND l=1 THEN f=1
NEXT
IF s=0 AND f=0 THEN GOSUB checkown:RETURN
IF s=1 AND f=1 THEN p=FNr(2)
IF s=1 AND p<2 THEN
j=0:k=0
WHILE k=0
j=j+1
IF check(j)=1 THEN posas=j:k=1
WEND
END IF
IF f=1 AND p=2 OR f=1 AND s=0 THEN
j=num(yy)+1:k=0
WHILE k=0
j=j-1
IF check(j)=1 THEN posas=j:k=1
WEND
END IF
END IF
MID$(word$(mm),posas,1)="0"
guessed(mm)=guessed(mm)+1
COLOR 2,1
LOCATE 21,sq+posas-1:PRINT"*"
IF mm=1 THEN sc=2: :ELSE sc=-2
GOSUB win
RETURN
checkown:
IF mm=1 THEN yy=2:sq=25 :ELSE yy=1:sq=5
IF c$<>"*"THEN
FOR i=1 TO num(yy)
t$=MID$(word$(yy),i,1)
IF t$=c$ THEN
COLOR 2,1
LOCATE 21,sq+i-1:PRINT CHR$(cr)
MID$(word$(yy),i,1)="0"
guessed(yy)=guessed(yy)+1
IF mm=1 THEN sc=-2 :ELSE sc=2
i=num(yy)+1
ok=1
GOSUB lose
END IF
NEXT
RETURN
END IF
IF c$="*" THEN
FOR i=1 TO num(yy)
t$= MID$(word$(yy),i,1)
IF t$=c$ THEN
check(i)=1
GOTO co10
END IF
IF t$="0" THEN check(i)=0:GOTO co10
check(i)=100
co10:
NEXT
s=0:f=0:l=0:p=0
FOR i=1 TO num(yy)
IF check(i)=100 THEN l=1
IF check(i)=0 AND s=1 THEN l=1
IF check(i)=1 AND l=0 THEN s=1
IF check(i)=1 AND l=1 THEN f=1
NEXT
IF s=1 AND f=1 THEN p=FNr(2)
IF s=1 AND p<2 THEN
j=0:k=0
WHILE k=0
j=j+1
IF check(j)=1 THEN posas=j:k=1
WEND
END IF
IF f=1 AND p=2 OR f=1 AND s=0 THEN
j=num(yy)+1:k=0
WHILE k=0
j=j-1
IF check(j)=1 THEN posas=j:k=1
WEND
GOSUB lose
END IF
END IF
IF s=0 AND f=0 THEN
IF mm=1 THEN sc=-1 :ELSE sc=1
GOSUB lose
RETURN
END IF
COLOR 2,1
MID$(word$(yy),posas,1)="0"
LOCATE 21,sq+posas-1:PRINT"*"
guessed(yy)=guessed(yy)+1
IF mm=1 THEN sc=-2 :ELSE sc=2
RETURN
handicap:
hand=0
GOSUB rubout
PUT(75,80),la,PSET:PUT(215,80),ra,PSET
COLOR 2,1
LOCATE 2,2:PRINT "Set handicap. Move tug 'o war teams."
LOCATE 3,2:PRINT "Click on left or right arrows."
LOCATE 4,2:PRINT "Click on OK when handicap as required."
WHILE hand=0
ha1:
left=0:right=0
GOSUB getcord
IF py<81 OR py>92 THEN ha1
IF px>145 AND px<170 THEN hand=1
IF px>74 AND px<100 THEN
IF spot=18 THEN
BEEP:GOSUB rubout:LOCATE 2,2:PRINT "TOO FAR !"
FOR del=1 TO 6000:NEXT
GOTO ha1
END IF
GOSUB mover
END IF
IF px>214 AND px<240 THEN
IF spot=2 THEN
BEEP:GOSUB rubout:LOCATE 2,2:PRINT "TOO FAR !"
FOR del=1 TO 6000:NEXT
GOTO ha1
END IF
GOSUB movel
END IF
WEND
LINE(75,80)-(95,92),0,bf:LINE(215,80)-(235,92),0,bf
RETURN
mover:
cc=0
FOR i=1 TO 7
cc=cc+1:IF cc=3 THEN cc=1
x1=x1-1:x2=x2-1
IF cc=1 THEN PUT(x1,92),l2,PSET:PUT(x2,92),r2,PSET
IF cc=2 THEN PUT(x1,92),l4,PSET:PUT(x2,92),r4,PSET
FOR j=1 TO 300:NEXT
NEXT
x1=x1-1:x2=x2-1
FOR j=1 TO 300:NEXT
PUT(x1,92),l1,PSET:PUT(x2,92),r1,PSET
spot=spot+1
RETURN
movel:
cc=0
FOR i=1 TO 7
cc=cc+1:IF cc=3 THEN cc=1
x1=x1+1:x2=x2+1
IF cc=1 THEN PUT(x1,92),l2,PSET:PUT(x2,92),r2,PSET
IF cc=2 THEN PUT(x1,92),l4,PSET:PUT(x2,92),r4,PSET
FOR j=1 TO 300:NEXT
NEXT
x1=x1+1:x2=x2+1
FOR j=1 TO 300:NEXT
PUT(x1,92),l1,PSET:PUT(x2,92),r1,PSET
spot=spot-1
RETURN
rubout:
LINE (1,1)-(320,42),1,bf
RETURN
setword:
GOSUB rubout
FOR mm=1 TO 2
onceagain:
ff=0:gg=0
IF mm=1 THEN cc=4:yy=2:qq=24:sq=25 :ELSE cc=5:yy=1:qq=4:sq=5
LOCATE 2,2
COLOR cc,1
PRINT nam$(mm);" Set word for ";nam$(yy)
LOCATE 3,2:PRINT "Make sure that ";nam$(yy);" can't see!"
LOCATE 4,2:PRINT "Use left button to select letters or *"
LOCATE 5,2:PRINT "OK when complete.(max 10 letters or *)"
flag=0:count=0
WHILE flag=0
sw1:
GOSUB getcord
GOSUB identify
IF mistake=1 THEN sw1
IF flag=1 THEN sw10
IF cr<>42 THEN ff=1
IF cr=42 AND ff=1 THEN gg=1
IF cr>42 AND gg=1 THEN
GOSUB rubout
BEEP
LOCATE 2,2:PRINT "You cannot use * in middle of word"
word$(yy)=""
FOR del=1 TO 10000:NEXT
IF mm=1 THEN zz=164 :ELSE zz=6
LINE(zz,150)-(zz+120,170),4,bf
GOSUB rubout
GOTO onceagain
END IF
IF cr=60 THEN
COLOR 2,4
LOCATE 21,qq:PRINT " "
count=count-1
word$(yy)=LEFT$(word$(yy),count)
qq=qq-1
IF count=0 THEN ff=0
GOTO sw1
END IF
word$(yy)=word$(yy)+CHR$(cr)
qq=qq+1:count=count+1
IF count>numletters THEN
BEEP
GOSUB rubout
LOCATE 2,2:PRINT "Too many letters"
word$(yy)=""
FOR del=1 TO 10000:NEXT
IF mm=1 THEN zz=162 :ELSE zz=6
LINE(zz,130)-(zz+120,170),4,bf
GOTO onceagain
END IF
LOCATE 21,qq:COLOR 2,1:PRINT CHR$(cr)
sw10:
WEND
num(yy)=LEN(word$(yy))
LOCATE 21,sq:PRINT STRING$(num(yy),".")
NEXT
RETURN
letters:
COLOR 6:LOCATE 7,7:FOR i= 65 TO 78:PRINT CHR$(i);SPC(1);:NEXT
LOCATE 9,7:FOR i=79 TO 90:PRINT CHR$(i);SPC(1);:NEXT:PRINT CHR$(60);SPC(1);CHR$(42)
LINE (43,44)-(268,59),7,b:LINE(43,59)-(268,74),7,b
y=16:FOR i=1 TO 14:LINE (44+y,44)-(44+y,74),7:y=y+16:NEXT
LINE (269,45)-(269,75),2:LINE(44,75)-(269,75),2
LINE (270,46)-(270,76),2:LINE(45,76)-(270,76),2
PUT(145,80),ok,PSET
RETURN
getname:
m=1
FOR x=1 TO 2
nam$(x)=""
NEXT
again:
count=0
IF m=2 THEN qq=21:cc=5 :ELSE qq=1:cc=4
COLOR cc,1
LOCATE 2,2:PRINT"Player number";m;"Please enter name.Use"
LOCATE 3,2:PRINT "maximum nine letters."
LOCATE 4,2:PRINT "Use left mouse button. OK to finish."
flag=0
WHILE flag=0
gn1:
GOSUB getcord
GOSUB identify
IF mistake=1 THEN gn1
IF flag=1 THEN gn10
IF cr=60 THEN
COLOR 2,4
LOCATE 16,qq:PRINT " "
qq=qq-1:count=count-1
nam$(m)=LEFT$(nam$(m),count)
GOTO gn1
END IF
nam$(m)=nam$(m)+CHR$(cr)
qq=qq+1:LOCATE 16,qq:COLOR 2,1:PRINT CHR$(cr)
count=count+1
IF count>9 THEN
GOSUB rubout
LOCATE 2,2:PRINT "Too many letters."
IF m=1 THEN a=2 :ELSE a=22
COLOR 4,4
LOCATE 16,a:PRINT SPACE$(10)
nam$(m)=""
GOTO again
END IF
gn10:
WEND
m=m+1:IF m<3 THEN again
RETURN
getcord:
WHILE MOUSE(0)<>0:WEND
WHILE MOUSE(0)=0:WEND
px=MOUSE(1):py=MOUSE(2)
RETURN
identify:
flag=0:mistake=0
IF px>145 AND px<170 AND py>80 AND py<95 THEN flag=1:RETURN
IF px<44 OR px>268 OR py<44 OR py>74 THEN mistake=1:RETURN
IF py>59 THEN
GOSUB lower
GOTO skip
END IF
cr=INT(px/16):cr=cr+62
skip:
RETURN
lower:
cr=INT(px/16)
IF cr=15 THEN cr=60:GOTO pr
IF cr=16 THEN cr=42:GOTO pr
cr=cr+76
pr:
RETURN
instructions:
CLS:COLOR 2
LOCATE 3,1
PRINT "1)Enter players names using the mouse."
COLOR 5
PRINT "2)Adjust position of the tug of war if"
PRINT " either player is to be handicapped."
PRINT " Click on the arrows to move the tug"
PRINT " of war."
COLOR 6
PRINT "3)Players in turn enter a word-maximum"
PRINT " 10 letters. If both players agree 1"
PRINT " or more asterisks(*) can be used at"
PRINT " the beginning and/or end of the word"
PRINT " in order to disguise its length.These"
PRINT " are part of the maximum of 10 letters."
COLOR 2
PRINT "4)Players in turn try to guess letters"
PRINT " (or *s)in the word they have been set"
PRINT " Guessing correctly moves the tug of "
PRINT " war 2 places towards you. The letter"
PRINT " is shown in its correct place. If you"
PRINT " guess wrongly and the letter is in"
PRINT " your opponents word the letter will"
PRINT " be revealed in their word and the tug"
PRINT " of war will move 2 places away from "
PRINT " you.
COLOR 5
PRINT " PRESS SPACE BAR TO CONTINUE";
WHILE INKEY$<>" ":WEND
CLS
PRINT " IF you guess wrongly and the letter "
PRINT " is not in the word you set for your"
PRINT " opponent, the tug of war will move 1"
PRINT " place away from you."
COLOR 6
PRINT "5)Each occurence of the same letter (or"
PRINT " *) must be guessed seperately.
COLOR 2
PRINT "6)If either player succeeds in pulling"
PRINT " their opponent over the edge of the"
PRINT " cliff then they are the winner and a"
PRINT " fresh game is started. However if a"
PRINT " player guesses the whole of his word"
PRINT " before either player is pulled over,"
PRINT " new words are set and the game is"
PRINT " continued with the tug of war in the"
PRINT " same position."
PRINT
COLOR 5
PRINT " PRESS SPACE BAR TO CONTINUE";
WHILE INKEY$<>" ":WEND
CLS
RETURN
win:
SOUND 520,4,120,1
SOUND 660,4,120,1
SOUND 780,4,120,1
SOUND 1040,8,120,1
RETURN
fall:
'FOR xx=1000 TO 700 STEP -10
'SOUND xx,1,120,0
'NEXT
SOUND 1500-5*j,1,40,0
RETURN
lose:
FOR xx=300 TO 100 STEP-10
SOUND xx,1,120,0
NEXT
RETURN
graphics:
DIM ok(69)
FOR i=0 TO 68:READ ok(i):NEXT
DATA &h14,&hb,&h3,&hffff,&hf000,&h8071,&h9000,&hbf75
DATA &h5000,&ha174,&hb000,&had75,&h7000,&had76,&hf000,&had75
DATA &h7000,&ha174,&hb000,&hbf75,&h5000,&h8071,&h9000,&hffff
DATA &hf000,&hffff,&hf000,&hffff,&hf000,&hc0fb,&hb000,&hdefb
DATA &h7000,&hdefa,&hf000,&hdef9,&hf000,&hdefa,&hf000,&hdefb
DATA &h7000,&hc0fb,&hb000,&hffff,&hf000,&hffff,&hf000,&hffff
DATA &hf000,&h8071,&h9000,&hbf75,&h5000,&ha174,&hb000,&had75
DATA &h7000,&had76,&hf000,&had75,&h7000,&ha174,&hb000,&hbf75
DATA &h5000,&h8071,&h9000,&hffff,&hf000
DIM ra(69)
FOR i=0 TO 68:READ ra(i):NEXT
DATA &h14,&hb,&h3,&hffff,&hf000,&hfff1,&hf000,&hfff6
DATA &hf000,&hfff5,&h7000,&h8004,&hb000,&hbffd,&h5000,&h8004
DATA &hb000,&hfff5,&h7000,&hfff6,&hf000,&hfff1,&hf000,&hffff
DATA &hf000,&hffff,&hf000,&hffff,&hf000,&hfff9,&hf000,&hfffa
DATA &hf000,&hfffb,&h7000,&hc003,&hb000,&hfffb,&h7000,&hfffa
DATA &hf000,&hfff9,&hf000,&hffff,&hf000,&hffff,&hf000,&hffff
DATA &hf000,&hfff1,&hf000,&hfff6,&hf000,&hfff5,&h7000,&h8004
DATA &hb000,&hbffd,&h5000,&h8004,&hb000,&hfff5,&h7000,&hfff6
DATA &hf000,&hfff1,&hf000,&hffff,&hf000
DIM la(69)
FOR i=0 TO 68:READ la(i):NEXT
DATA &h14,&hb,&h3,&hffff,&hf000,&hf8ff,&hf000,&hf6ff
DATA &hf000,&heaff,&hf000,&hd200,&h1000,&hafff,&hd000,&hd200
DATA &h1000,&heaff,&hf000,&hf6ff,&hf000,&hf8ff,&hf000,&hffff
DATA &hf000,&hffff,&hf000,&hffff,&hf000,&hf9ff,&hf000,&hf5ff
DATA &hf000,&hedff,&hf000,&hd800,&h3000,&hedff,&hf000,&hf5ff
DATA &hf000,&hf9ff,&hf000,&hffff,&hf000,&hffff,&hf000,&hffff
DATA &hf000,&hf8ff,&hf000,&hf6ff,&hf000,&heaff,&hf000,&hd200
DATA &h1000,&hafff,&hd000,&hd200,&h1000,&heaff,&hf000,&hf6ff
DATA &hf000,&hf8ff,&hf000,&hffff,&hf000
DIM YES(69)
FOR i=0 TO 68:READ YES(i):NEXT
DATA &h17,&hb,&h3,&hffff,&hfe00,&h8881,&h8200,&ha2bd
DATA &h3a00,&h94a1,&h4600,&hc9a3,&h4600,&hebbd,&h3200,&heba1
DATA &h8a00,&heba3,&h8a00,&hebbd,&h7200,&he381,&h600,&hffff
DATA &hfe00,&hffff,&hfe00,&hffff,&hfe00,&hddc3,&hc600,&hebdf
DATA &hbe00,&hf7df,&hbe00,&hf7c3,&hce00,&hf7df,&hf600,&hf7df
DATA &hf600,&hf7c3,&h8e00,&hffff,&hfe00,&hffff,&hfe00,&hffff
DATA &hfe00,&h8881,&h8200,&ha2bd,&h3a00,&h94a1,&h4600,&hc9a3
DATA &h4600,&hebbd,&h3200,&heba1,&h8a00,&heba3,&h8a00,&hebbd
DATA &h7200,&he381,&h600,&hffff,&hfe00
DIM NO(69)
FOR i=0 TO 68:READ NO(i):NEXT
DATA &h17,&hb,&h3,&hffff,&hfe00,&he388,&he00,&hebab
DATA &hee00,&hedaa,&h2e00,&heaaa,&hae00,&he92a,&hae00,&heaaa
DATA &hae00,&heb6a,&h2e00,&hebab,&hee00,&he388,&he00,&hffff
DATA &hfe00,&hffff,&hfe00,&hffff,&hfe00,&hf7dc,&h1e00,&hf3dd
DATA &hde00,&hf5dd,&hde00,&hf6dd,&hde00,&hf75d,&hde00,&hf79d
DATA &hde00,&hf7dc,&h1e00,&hffff,&hfe00,&hffff,&hfe00,&hffff
DATA &hfe00,&he388,&he00,&hebab,&hee00,&hedaa,&h2e00,&heaaa
DATA &hae00,&he92a,&hae00,&heaaa,&hae00,&heb6a,&h2e00,&hebab
DATA &hee00,&he388,&he00,&hffff,&hfe00
DIM r1(66)
FOR i=0 TO 65:READ r1(i):NEXT
DATA &hF,&h15,&h3,&h0,&h0,&h300,&h680,&h380
DATA &h380,&h780,&h7C0,&h640,&h660,&hE60,&hC0E0,&hFE0
DATA &h7C0,&h7C0,&h6C0,&h6C0,&h0,&h0,&h0,&h0
DATA &h0,&h3C0,&h3C0,&h7C0,&h3C0,&h380,&h0,&h0
DATA &h180,&h180,&h180,&hFF00,&h0,&h0,&h0,&h0
DATA &h0,&h440,&h440,&h440,&h1FE0,&h0,&h0,&h0
DATA &h0,&h0,&h0,&h0,&h7C0,&h640,&h660,&hE60
DATA &hE0,&hFE0,&h0,&h0,&h0,&h0,&h0,&h0
DATA &h0,&h0
DIM r2(66)
FOR i=0 TO 65:READ r2(i):NEXT
DATA &hF,&h15,&h3,&h0,&h0,&h30,&h68,&h38
DATA &h30,&h78,&hF8,&h198,&h338,&h678,&hF0F0,&hFE0
DATA &h7C0,&h7C0,&h6C0,&hC0,&h0,&h0,&h0,&h0
DATA &h0,&h3C,&h3C,&h7C,&h3C,&h38,&h0,&h0
DATA &h60,&hC0,&h180,&hFF00,&h0,&h0,&h0,&h0
DATA &h400,&h440,&h1E40,&h40,&h1E0,&h0,&h0,&h0
DATA &h0,&h0,&h0,&h0,&hF8,&h198,&h338,&h678
DATA &hF0,&hFE0,&h0,&h0,&h0,&h0,&h0,&h0
DATA &h0,&h0
DIM r3(66)
FOR i=0 TO 65:READ r3(i):NEXT
DATA &hF,&h15,&h3,&h100,&h100,&h0,&h0,&h0
DATA &h0,&h380,&h540,&h6C0,&h380,&h380,&h7C0,&h7C0
DATA &h7C0,&h7C0,&h7C0,&h7C0,&h7C0,&h6C0,&h0,&h0
DATA &h0,&h0,&h380,&h6C0,&hC60,&hBA0,&hC60,&hAA0
DATA &h920,&h820,&h820,&h820,&h820,&h0,&h0,&h0
DATA &h0,&h0,&h0,&h440,&h1EF0,&h100,&h100,&h0
DATA &h0,&h0,&h0,&h380,&h540,&h6C0,&h380,&h0
DATA &h7C0,&h7C0,&h7C0,&h7C0,&h7C0,&h7C0,&h0,&h0
DATA &h0,&h0
DIM r4(66)
FOR i=0 TO 65:READ r4(i):NEXT
DATA &hF,&h15,&h3,&h0,&h0,&h30,&h68,&h38
DATA &h30,&h78,&hF8,&h198,&h338,&h678,&hF0F0,&hFE0
DATA &h7C0,&h7C0,&h6C0,&h600,&h0,&h0,&h0,&h0
DATA &h0,&h3C,&h3C,&h7C,&h3C,&h38,&h0,&h0
DATA &h60,&hC0,&h180,&hFF00,&h0,&h0,&h0,&h0
DATA &h40,&h440,&h5E0,&h400,&h1E00,&h0,&h0,&h0
DATA &h0,&h0,&h0,&h0,&hF8,&h198,&h338,&h678
DATA &hF0,&hFE0,&h0,&h0,&h0,&h0,&h0,&h0
DATA &h0,&h0
DIM l1(66)
FOR i=0 TO 65:READ l1(i):NEXT
DATA &hF,&h15,&h3,&h0,&h0,&h180,&h2C0,&h380
DATA &h380,&h3C0,&h0,&h0,&h0,&h0,&h6,&h0
DATA &h7C0,&h7C0,&h6C0,&h6C0,&h0,&h0,&h0,&h0
DATA &h0,&h780,&h780,&h7C0,&h780,&h380,&h0,&h0
DATA &h300,&h300,&h300,&h1FE,&h0,&h0,&h0,&h0
DATA &h0,&h440,&h440,&h440,&hFF0,&h0,&h0,&h0
DATA &h0,&h0,&h0,&h0,&h7C0,&h4C0,&hCC0,&hCE0
DATA &hE00,&hFE0,&h0,&h0,&h0,&h0,&h0,&h0
DATA &h0,&h0
DIM l2(66)
FOR i=0 TO 65:READ l2(i):NEXT
DATA &hF,&h15,&h3,&h0,&h0,&h1800,&h2C00,&h3800
DATA &h1800,&h3C00,&h0,&h0,&h0,&h0,&h1E,&h0
DATA &h7C0,&h7C0,&h6C0,&h600,&h0,&h0,&h0,&h0
DATA &h0,&h7800,&h7800,&h7C00,&h7800,&h3800,&h0,&h0
DATA &hC00,&h600,&h300,&h1FE,&h0,&h0,&h0,&h0
DATA &h40,&h440,&h4F0,&h400,&hF00,&h0,&h0,&h0
DATA &h0,&h0,&h0,&h0,&h3E00,&h3300,&h3980,&h3CC0
DATA &h1E00,&hFE0,&h0,&h0,&h0,&h0,&h0,&h0
DATA &h0,&h0
DIM l3(66)
FOR i=0 TO 65:READ l3(i):NEXT
DATA &hF,&h15,&h3,&h100,&h100,&h0,&h0,&h0
DATA &h0,&h380,&h540,&h6C0,&h380,&h380,&h0,&h0
DATA &h0,&h0,&h0,&h0,&h7C0,&h6C0,&h0,&h0
DATA &h0,&h0,&h380,&h6C0,&hC60,&hBA0,&hC60,&hAA0
DATA &h920,&h820,&h820,&h820,&h820,&h0,&h0,&h0
DATA &h0,&h0,&h0,&h440,&h1EF0,&h100,&h100,&h0
DATA &h0,&h0,&h0,&h380,&h540,&h6C0,&h380,&h0
DATA &h7C0,&h7C0,&h7C0,&h7C0,&h7C0,&h7C0,&h0,&h0
DATA &h0,&h0
DIM l4(66)
FOR i=0 TO 65:READ l4(i):NEXT
RETURN
DATA &hF,&h15,&h3,&h0,&h0,&h1800,&h2C00,&h3800
DATA &h1800,&h3C00,&h0,&h0,&h0,&h0,&h1E,&h0
DATA &h7C0,&h7C0,&h6C0,&hC0,&h0,&h0,&h0,&h0
DATA &h0,&h7800,&h7800,&h7C00,&h7800,&h3800,&h0,&h0
DATA &hC00,&h600,&h300,&h1FE,&h0,&h0,&h0,&h0
DATA &h400,&h440,&hF40,&h40,&hF0,&h0,&h0,&h0
DATA &h0,&h0,&h0,&h0,&h3E00,&h3300,&h3980,&h3CC0
DATA &h1E00,&hFE0,&h0,&h0,&h0,&h0,&h0,&h0
DATA &h0,&h0